//
//  main.cpp
//  Bridge
//
//  Created by Shane on 17/9/29.
//  Copyright © 2017年 Shane. All rights reserved.
//

#include <iostream>
#include "Abstraction.hpp"
#include "AbstractionImplement.hpp"


int main(int argc, const char * argv[]) {
    AbstractionImplement *pImpA = new ConcreteAbstractionImplementA();
    AbstractionImplement *pImpB = new ConcreteAbstractionImplementB();
    
    Abstraction *p = new RefinedAbstractionA(pImpA);
    p->operation();
    p = new RefinedAbstractionB(pImpB);
    p->operation();
    return 0;
}
